using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

namespace ConsoleApplication11.Models.Mapping
{
    public class IVUMap : EntityTypeConfiguration<IVU>
    {
        public IVUMap()
        {
            // Primary Key
            this.HasKey(t => t.IS_ID);

            // Properties
            this.Property(t => t.IS_Name)
                .HasMaxLength(50);

            this.Property(t => t.IS_mm)
                .HasMaxLength(20);

            this.Property(t => t.IS_TargetLesion)
                .HasMaxLength(50);

            this.Property(t => t.IS_Time)
                .HasMaxLength(50);

            this.Property(t => t.IS_MaxMLD)
                .HasMaxLength(20);

            this.Property(t => t.IS_MLD)
                .HasMaxLength(20);

            this.Property(t => t.IS_Remark)
                .HasMaxLength(200);

            this.Property(t => t.patient_id)
                .HasMaxLength(20);

            this.Property(t => t.IS_OtherTargetText)
                .HasMaxLength(50);

            this.Property(t => t.IS_CSA)
                .HasMaxLength(20);

            this.Property(t => t.IS_BQ)
                .HasMaxLength(20);

            this.Property(t => t.IS_LesionTag)
                .HasMaxLength(50);

            // Table & Column Mappings
            this.ToTable("IVUS");
            this.Property(t => t.IS_ID).HasColumnName("IS_ID");
            this.Property(t => t.IS_Name).HasColumnName("IS_Name");
            this.Property(t => t.IS_mm).HasColumnName("IS_mm");
            this.Property(t => t.IS_TargetLesion).HasColumnName("IS_TargetLesion");
            this.Property(t => t.IS_Time).HasColumnName("IS_Time");
            this.Property(t => t.IS_MaxMLD).HasColumnName("IS_MaxMLD");
            this.Property(t => t.IS_MLD).HasColumnName("IS_MLD");
            this.Property(t => t.IS_Remark).HasColumnName("IS_Remark");
            this.Property(t => t.patient_id).HasColumnName("patient_id");
            this.Property(t => t.follow_up_id).HasColumnName("follow_up_id");
            this.Property(t => t.Create_Time).HasColumnName("Create_Time");
            this.Property(t => t.State).HasColumnName("State");
            this.Property(t => t.IS_OtherTargetText).HasColumnName("IS_OtherTargetText");
            this.Property(t => t.Target_ID).HasColumnName("Target_ID");
            this.Property(t => t.IS_NID).HasColumnName("IS_NID");
            this.Property(t => t.IS_CSA).HasColumnName("IS_CSA");
            this.Property(t => t.IS_BQ).HasColumnName("IS_BQ");
            this.Property(t => t.IS_LesionTag).HasColumnName("IS_LesionTag");
        }
    }
}
